1. Technical Field
The present application generally relates to the delivery of content to client devices, including in particular the delivery of content to a variety of devices with different characteristics.
2. Brief Description of the Related Art
As is known in the art, a distributed computer system may be used to deliver content to client devices in both wireless and other fixed-line environments. One such distributed computer system is a “content delivery network” or “CDN” that is operated and managed by a service provider. The service provider typically provides the service on behalf of third parties. A “distributed system” of this type typically refers to a collection of autonomous computers linked by a network or networks, together with the software, systems, protocols and techniques designed to facilitate various services, such as content delivery or the support of outsourced site infrastructure. Typically, “content delivery” refers to the storage, caching, or transmission of content, or streaming media and applications on behalf of content providers, and ancillary technologies used therewith including, without limitation, DNS request handling, provisioning, data monitoring and reporting, content targeting, personalization, and business intelligence.
Content delivery to mobile devices such as a smartphone or tablet, presents unique challenges. Often such devices have limited capabilities in terms of their display or processing power, and they typically receive content via wireless connections that are of limited bandwidth in comparison to fixed-line environments.
One approach for delivering content to such devices so is through the use of transcoders, which take in web content (e.g., a web page) and transform or re-author that content into a format suited to the display and data transmission capabilities of the device. A variety of transcoding algorithms are known in the art. Exemplary approaches for transcoding content are described in U.S. Pat. No. 7,047,033 and US Patent Publication 2003/0115365, the teachings of both of which are hereby incorporated by reference. Transcoding of image, video, and other content is described in Bharadvaj, Joshi et al., “An Active Transcoding Proxy To Support Mobile Web Access,” Reliable Distributed Systems, Proceedings of 17th IEEE Symposium on Reliable Distributed Systems, pp. 118-123 (1998), the teachings of which are hereby incorporated by reference.
Alternatively, a content provider might author several versions of content in the first instance, each version being adapted for a particular device. The number such versions can rapidly escalate, however, and the availability of multiple versions does not address how to efficiently deliver an appropriate version in response to a particular request.
While the foregoing approaches relate to adaptation techniques, they do not fully address the problems of delivering tailored content at scale. Hence, there is a need to provide methods and systems for providing device-adapted content in distributed computing systems and for advantageously managing adapted content in such systems. The techniques disclosed herein address these and other needs that will become apparent in view of the following disclosure.